<?php
function doiso($so){ 
		if (($so < 0) || ($so > 999999999999)) 
		{ 
			echo "Số này nằm ngoài phạm vi";
		} 
        $Ty = floor($so / 1000000000);/* Tỷ  */
        $so -= $Ty * 1000000000;
 		$Gn = floor($so / 1000000);  /* Triệu (giga) */ 
		$so -= $Gn * 1000000; 
		$kn = floor($so / 1000);     /* Ngàn (kilo) */ 
		$so -= $kn * 1000; 
		$Hn = floor($so / 100);      /* Trăm (hecto) */ 
		$so -= $Hn * 100; 
		$Dn = floor($so / 10);       /* Mười (deca) */ 
		$n = $so % 10;             
	
		$res = ""; 
        if ($Ty) 
		{ 
			$res .= doiso($Ty) . " tỷ"; 
		} 	
	
		if ($Gn) 
		{ 
            $res .= (empty($res) ? "" : " ") .
			    doiso($Gn) . " triệu"; 
		} 
	
		if ($kn) 
		{ 
			$res .= (empty($res) ? "" : " ") . 
				doiso($kn) . " ngàn"; 
		} 
	
		if ($Hn) 
		{ 
			$res .= (empty($res) ? "" : " ") . 
				doiso($Hn) . " trăm"; 
		} 
	
		$mot = array("", "một", "hai", "ba", "bốn", "năm", "sáu", 
			"bảy", "tám", "chín", "mười", "mười một", "mười hai", "mười ba", 
			"mười bốn", "mười lăm", "mười sáu", "mười bảy", "mười tám", 
			"mười chín"); 
		$hangmuoi = array("", "", "hai mươi", "ba mươi", "bốn mươi", "năm mươi", "sáu mươi", 
			"bảy mươi", "tám mươi", "chín mươi"); 
	
		if ($Dn || $n) 
		{ 
			if (!empty($res)) 
			{ 
				$res .= " "; 
			} 
	
			if ($Dn < 2) 
			{ 
				$res .= $mot[$Dn * 10 + $n]; 
			} 
			else 
			{ 
				$res .= $hangmuoi[$Dn]; 
	
				if ($n) 
				{ 
					$res .= "-" . $mot[$n]; 
				} 
			} 
		} 
	
		if (empty($res)) 
		{ 
			$res = "không"; 
		} 
	
		return $res; 
}
?>